package Day4_ClassAndArrayList;

public class Triangle {
    // 属性：三条边
    private double side1;
    private double side2;
    private double side3;

    // 构造方法
    public Triangle(double side1, double side2, double side3) {
        this.side1 = side1;
        this.side2 = side2;
        this.side3 = side3;
    }

    // 方法1：判断是否是一个直角三角形
    public boolean isRightAngleTriangle() {
        double[] sides = { side1, side2, side3 };
        // 先排序
        Arrays.sort(sides);
        // 使用勾股定理判断是否为直角三角形
        return Math.pow(sides[0], 2) + Math.pow(sides[1], 2) == Math.pow(sides[2], 2);
    }

    // 方法2：判断是否是一个等腰三角形
    public boolean isIsoscelesTriangle() {
        return side1 == side2 || side1 == side3 || side2 == side3;
    }

    // 方法3：判断是否是一个等边三角形
    public boolean isEquilateralTriangle() {
        return side1 == side2 && side1 == side3;
    }

    // 方法4：求周长
    public double calculatePerimeter() {
        return side1 + side2 + side3;
    }
}